/* eslint-disable for-direction */
/* eslint-disable no-unused-vars */
// 1. 封装一个函数实现字符串翻转。
function f(arr) {
    let a = '';
    for (let i = arr.length - 1; i < -1; i--) {
        a[a.length] = arr[i];
    }
    return a;
}
// 2. 字符串 digite = "0123456789", 把前 5 个字符分割出来， 返回个单字符的数组, 注意， 返回数组里面的数字是字符串类型, string.split()
// let digite = '0123456789';
// console.log(digite.split('56789',1));

// 3.已知有字符串 foo=”get-element-by-id”,写一个 function 将其转化成驼峰表示法”getElementById”.

// let str3 = 'get-element-by-id';
// let a=str3.split('-',4)
// console.log(
// a.map(function(v,i){
//   if(i!=0)
//   v=v[0].toUpperCase()+v.substring(1)
//   return v
// }).join(""))

// 4.定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面的有"天"的下标输出(用 indexof())

let str4 = '今天是什么鬼天气，这么热，明天要去游泳！';
function f4(a, b) {
    let n = 0,
        m = 0;
    for (let i = 0; i < a.length; i++) {
        if (a[i] === b) m++;
    }
    for (let i = 0; i < m; i++) {
        console.log(str4.indexOf('天', n));
        n = str4.indexOf('天', n) + 1;
    }
}
//f4(str4,'天')

// 5.定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面的有"天"替换成"日"(用 replace())

let str5 = '今天是什么鬼天气，这么热，明天要去游泳！';
function f5(a, b, c) {
    let m = 0;
    for (let i = 0; i < a.length; i++) {
        if (a[i] === b) m++;
    }
    for (let i = 0; i < m; i++) {
        a = a.replace(b, c);
    }
    console.log(a);
}
//f5(str5,'天','日')

// 6.解析 URL Params 为对象，例如(https://www.baidu.com/s?ie=UTF-8&wd=letcode)
// 返回结构如下:
// {
//     ie:"UTF-8",
//     wd:"letcode"
// }
let url = 'https://www.baidu.com/s?ie=UTF-8&wd=letcode';
function f6() {
    let s = url.substring(url.indexOf('?') + 1);
    let i1 = s.indexOf('=');
    let i2 = s.indexOf('&');
    let i3 = s.lastIndexOf('=');
    let o = new Object();
    o.ie = s.substring(i1 + 1, i2);
    o.wd = s.substring(i3 + 1);
    console.log(o);
}
//f6()
// 7.查找字符串中(abbcccddddd)出现最多的字符和个数
let str7 = '112223da44'; //'abbcccddddd';
function f7() {
    let s = [],
        ss = [],
        str = '',
        n = 0,
        max = 1;
    for (let i = 0; i < str7.length; i++) {
        if (str7.indexOf(str7[i]) != str7.lastIndexOf(str7[i]))
            s[s.length] = str7[i];
    }
    if (s == []) console.log('没有重复的字符');
    s = s.filter(function (v, i) {
        //去重
        return s.indexOf(v) == i;
    });
    for (let j = 0; j < s.length; j++) {
        for (let i = 0; i < str7.length; i++) {
            if (s[j] == str7[i]) n++;
        }
        if (n > max) {
            max = n;
            ss = [];
            ss[0] = s[j];
            ss[1] = max;
        }
        if (n == max && ss[0] != s[j]) {
            ss[ss.length] = s[j];
            ss[ss.length] = max;
        }
        n = 0;
    }
    for (let j = 0; j < ss.length; j = j + 2) {
        console.log(`出现最多的字符是${ss[j]},次数为${ss[j + 1]}`);
    }
}
//f7()
// 8. "hi javascript hi hello world!" 改成 "Hi Javascript! Hi Hello World!"

let str8 = 'hi javascript hi hello world!';
function f8() {
    let a = str8.split(' ');
    str8 = a
        .map(function (v, i) {
            v = v[0].toUpperCase() + v.substring(1);
            if (i == 1) v += '!';
            return v;
        })
        .join(' ');
    console.log(str8);
}
//f8()
//10.定义一个函数，检测字符串是否包含指定字符
//（可以支持多个，只要包含其中一个指定字符就返回结果）
function f10(str, a) {
    for (let i = 0; i < str.length; i++) {
        for (let j = 0; j < a.length; j++) {
            if (str[i] == a[j]) return true;
        }
    }
    return false;
}
//console.log(f10('1234',['2',1]))
